// const path = require('path')

module.exports = {
  chainWebpack: config => {
    config.module
      .rule('images')
      .use('url-loader')
      .loader('url-loader')
      .tap(options => Object.assign(options, { limit: 1 }));
  },
  configureWebpack: {
    mode:
      process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'pre'
        ? 'production'
        : 'development',
    resolve: {
      // alias: { '@': path.resolve(__dirname, './src') }
    },
    module: {
      // rules: [{
      //   test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
      //   loader: 'url-loader',
      //   options: {
      //     limit: 1
      //   }
      // }]
    },
    externals: {},
    optimization: {},
    plugins: []
  },
  devServer: {
    // before (app) {
    //   const { lunbo } = require('./Mock/index')
    //   app.get('/gftopen/images', (req, res) => {
    //     res.json({
    //       message: { images: lunbo },
    //       meta: { msg: 'success', status: 200 }
    //     })
    //   })
    //   app.get('/gftopen/index', (req, res) => {
    //     res.json('images')
    //   })
    // },
    open: true,
    // host: 'localhost',
    // port: 8080,
    https: false,
    // 以上的ip和端口是我们本机的;下面为需要跨域的
    // 以http://localhost:8080 作为例子
    // 我axios 请求接口 写 / 那么当我配置好以下的target属性 他就会 将
    // https://shanliangdeywj.com 和 / 组合在一起
    // 为什么要把一个 ''  当做键值对的键呢，这是涉及到当我们有多个路由需要转发配置的时候
    // 可以单独设置多个不同的 路由转发
    // 你只要记住 target 替换了你页面所在的 http://localhost:8080 这个部分（该部分写法有很多 https://shanliangdeywk.com）
    // 然后拼接上 路由剩下的
    /**
    '/api':{
      target:'.....'
    }
    '/img':{
      target:'.....',
       pathRewrite: {
          '^/img': ''
        }
    }
     */
    proxy: { // 配置跨域
      '/gftopen': {
        // target: 'http://101.37.12.232:7300/mock/5f5da5d7bba9160c67c435d6', // 这里后台的地址模拟的;应该填写你们真实的后台接口
        target: 'http://127.0.0.1:3000', // 这里后台的地址模拟的;应该填写你们真实的后台接口
        ws: true, // 是否代理websockets
        // changOrigin: true, // 允许跨域 默认 false，是否需要改变原始主机头为目标URL,
        pathRewrite: {
          '^/': ''// 请求的时候使用这个api就可以
        }
      }
      // '/test': {
      //   target: 'http://101.37.12.232:7300/mock/5f5da5d7bba9160c67c435d6', // 这里后台的地址模拟的;应该填写你们真实的后台接口
      //   ws: true, // 是否代理websockets
      //   // changOrigin: true, // 允许跨域 默认 false，是否需要改变原始主机头为目标URL,
      //   pathRewrite: {
      //     '^/': ''// 请求的时候使用这个api就可以
      //   }
      // },
      // '/api': {
      //   target: 'http://101.37.12.232:7300/mock/5f5da5d7bba9160c67c435d6', // 这里后台的地址模拟的;应该填写你们真实的后台接口
      //   ws: true, // 是否代理websockets
      //   // changOrigin: true, // 允许跨域 默认 false，是否需要改变原始主机头为目标URL,
      //   pathRewrite: {
      //     '^/': ''// 请求的时候使用这个api就可以
      //   }
      // }
      // // 理论上在没看过源码的情况下，他这应该是发了两次请求 然后返回一次匹配成功的，或者两次都失败返回两次失败的
      // '/img': {
      //   target: 'http://localhost:5000', // 这里后台的地址模拟的;应该填写你们真实的后台接口
      //   ws: true, // 是否代理websockets
      //   // changOrigin: true, // 允许跨域 默认 false，是否需要改变原始主机头为目标URL,
      //   pathRewrite: {
      //     '^/': ''// 请求的时候使用这个api就可以
      //   }
      // },
      // // 比如下面这个就将 我axios 上的 请求的 /api/test 在 下面的pathRewrite 部分正则替换掉了 /api
      // // 所以最后实际发出去的请求为 https://shanliangdeywj.com/test
      // // 这里做为键值对的 1  这个键在此处只是和上面同级的 '' 配置键值对要区分开
      // '/test': {
      //   target: 'http://localhost:5000', // 这里后台的地址模拟的;应该填写你们真实的后台接口
      //   ws: true, // 是否代理websockets
      //   // changOrigin: true, // 允许跨域 默认 false，是否需要改变原始主机头为目标URL,
      //   pathRewrite: {
      //     '^/api': ''// 请求的时候使用这个api就可以
      //   }
      // }
    }
  },
  // 输出文件目录
  outputDir: './server/dist',
  runtimeCompiler: true
};
